Embedded Systems

StML: Bridging the gap between FPGA design and HDL circuit description

by Dustin Pe­ter­son, Oliver Bring­mann, Thomas Schweizer, and Wolf­gang Rosen­stiel
In 2013 In­ter­na­tional Con­fer­ence on Field-Pro­gram­ma­ble Tech­nol­ogy (FPT) (): 278-285, 2013.

Key­words: field pro­gram­ma­ble gate ar­rays, hard­ware de­scrip­tion lan­guages, in­te­grated cir­cuit de­sign, FPGA de­sign, HDL cir­cuit de­scrip­tion, StML, cir­cuit par­ti­tion, bidi­rec­tional map­pings, sta­tic map­ping li­brary, EDA tool li­brary, hard­ware de­bug­ging, RTL-based in­jec­tion, area over­head, cir­cuit gran­u­lar­ity, fault in­jec­tion method, Field pro­gram­ma­ble gate ar­rays, In­te­grated cir­cuit mod­el­ing, Hard­ware de­sign lan­guages, Li­braries, Lay­out, Wires, Rout­ing

Ab­stract

FPGA cir­cuit im­ple­men­ta­tion is a uni­di­rec­tional and time-con­sum­ing process. Ex­ist­ing ap­proaches like the in­cre­men­tal syn­the­sis try to shorten it, but still need to ex­e­cute the whole flow for a changed cir­cuit par­ti­tion. Other ap­proaches cir­cum­vent process stages by pro­vid­ing bidi­rec­tional map­pings be­tween their re­sults. In this paper we pro­pose an ap­proach to pro­vide a bidi­rec­tional link be­tween an FPGA de­sign and its HDL code. This link en­ables the cir­cum­ven­tion of the most time-con­sum­ing stages (syn­the­sis, map­ping, plac­ing, rout­ing) of the FPGA cir­cuit im­ple­men­ta­tion. We im­ple­mented our ap­proach in a Java-based EDA tool li­brary, called Sta­tic Map­ping Li­brary (StML). We demon­strate its ap­plic­a­bil­ity by means of hard­ware de­bug­ging and an RTL-based in­jec­tion of per­ma­nent faults, built on top of the StML. Ex­per­i­men­tal re­sults il­lus­trate that a map­ping cov­er­age be­tween 98.5%-100.0% can be ob­tained, which sub­stan­ti­ates the fea­si­bil­ity of this ap­proach. Fur­ther ex­per­i­ments il­lus­trate a con­trol­lable trade­off be­tween area over­head, cir­cuit gran­u­lar­ity and map­ping gran­u­lar­ity. With the finest map­ping gran­u­lar­ity, the area over­head has been be­tween 1.8% and 60.2% for RTL-based cir­cuits. The speedup of the pro­posed fault in­jec­tion method has been es­ti­mated to be up to 6x for the tested cir­cuits.